package br.ufg.modulo04.controller;

import java.util.Date;
import java.util.List;

import javax.faces.bean.ManagedBean;

import br.ufg.modulo04.dao.factory.AnuncioDaoFactory;
import br.ufg.modulo04.dao.factory.UsuarioDaoFactory;
import br.ufg.modulo04.entity.Anuncio;

@ManagedBean(name = "AnuncioController")
public class AnuncioController {
	private Anuncio anuncioSelecionado;
	private Anuncio anuncio = new Anuncio();
	private List<Anuncio> listaUsuarioLogado;

	public List<Anuncio> getLista() {
		return AnuncioDaoFactory.getInstance().getAnuncioDao()
				.getTodosAnuncios();
	}

	public List<Anuncio> getListaUsuarioLogado() {
		if (listaUsuarioLogado == null)
			listaUsuarioLogado = preencherListaUsuarioLogado();
		return listaUsuarioLogado;
	}

	public List<Anuncio> preencherListaUsuarioLogado() {
		return AnuncioDaoFactory
				.getInstance()
				.getAnuncioDao()
				.getTodosAnuncios(
						UsuarioDaoFactory.getInstance().getUsuarioDao()
								.getUsuarioLogado());
	}

	public void setAnuncioSelecionado(Anuncio anuncio) {
		anuncioSelecionado = anuncio;
	}

	public Anuncio getAnuncioSelecionado() {
		return anuncioSelecionado;
	}

	public void setAnuncio(Anuncio anuncio) {
		this.anuncio = anuncio;
	}

	public Anuncio getAnuncio() {
		return anuncio;
	}

	public String gravar() {
		this.anuncio.setDataDeCriacao(new Date());

		AnuncioDaoFactory
				.getInstance()
				.getAnuncioDao()
				.inserirAnuncio(
						UsuarioDaoFactory.getInstance().getUsuarioDao()
								.getUsuarioLogado(), anuncio);

		return "sucesso";
	}

	public String cancelar() {
		return "cancelar";
	}

	public String criarNovoAnuncio() {
		return "criarNovo";
	}
}
